Найдите значение sgn
функции:
Вход. Одно
целое число x (-109
≤
x ≤ 109
).
Выход. Выведите
значение sgn функции для заданного значения x.
Пример входа 1 |
Пример выхода 1 |
4 |
1 |
|
|
Пример входа 2 |
Пример выхода 2 |
0 |
0 |
|
|
Пример входа 3 |
Пример выхода 3 |
-2 |
-1 |
условный оператор
Для решения задачи можно воспользоваться
условным оператором.
Рассмотрим другое решение. Запишем
условие следующим образом:
y = 1 * (x > 0) + 0 * (x == 0) + (-1) * (x < 0);
или
y = (x > 0) - (x < 0);
Например, если
·
x положительно, то y = 1 – 0 = 1;
·
x =
0, то y = 0 – 0 = 0;
·
x отрицательно, то y = 0 – 1 = -1;
Реализация алгоритма
Читаем входное
значение x.
scanf("%d", &x);
Вычисляем значение sgn функции.
if (x > 0) y =
1; else
if (x == 0) y = 0; else
y =
-1;
Выводим
ответ.
printf("%d\n", y);
Реализация алгоритма – без if
Читаем входное значение x.
scanf("%d", &x);
Вычисляем значение sgn функции.
y = (x > 0) - (x < 0);
Выводим ответ.
printf("%d\n", y);
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int y, x = con.nextInt();
if (x > 0) y = 1; else
if (x == 0) y = 0; else
y = -1;
System.out.println(y);
con.close();
}
}
Python реализация
Читаем входное значение x.
x = int(input())
Вычисляем значение sgn функции.
if x > 0: y = 1
elif x == 0: y = 0
else: y = -1
Выводим ответ.
print(y)
Python реализация – без if
Читаем входное
значение x.
x = int(input())
Вычисляем значение sgn функции.
y = (x > 0) - (x < 0)
Выводим
ответ.
print(y)